package day240124

import (
	"fmt"
	"sort"
)

func Sort使用() {

	//num := []int{1, 7, 3, 6, 4}
	////升序排序
	////sort.Ints(num)
	//fmt.Println(num)
	////升序另一种写法：
	//sort.Sort(sort.IntSlice(num))
	//fmt.Println(num)
	////降序 ( Reverse 声明倒叙)
	//sort.Sort(sort.Reverse(sort.IntSlice(num)))
	//fmt.Println(num)

	//float 类型切片排序
	//f := []float64{1.2, 9.4, 5.4}
	//sort.Float64s(f)
	//fmt.Println(f)
	//
	//sort.Sort(sort.Reverse(sort.Float64Slice(f)))
	//fmt.Println(f)

	//string类型排序	(会以首字符相同来排序)
	s := []string{"a", "a1", "j", "a我", "我", "1a", "0b"}
	sort.Strings(s)
	fmt.Println(s) //[0b 1a a a1 a我 j 我] 先按数字排序，再按字母排序，再按中文, a 比 a1先

	//切片要升序
	//SearchStrings :搜索切片中的 元素，返回其索引
	n := sort.SearchStrings(s, "我")
	fmt.Println(n)

	if n < len(s) {
		if s[n] == "a我" {
			fmt.Println("存在")
		} else {
			fmt.Println("no")
		}
	} else {
		fmt.Println("no2")
	}

	//sort.Sort(sort.Reverse(sort.StringSlice(s)))
	//fmt.Println(s) //[我 j a我 a]

}
